package team.knowers.qzhserver.user.userData.entity.dao;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import team.knowers.qzhserver.common.entity.BaseDO;
import team.knowers.qzhserver.user.user.entity.dao.UserDOField;

import java.io.Serial;
import java.util.Date;

@EqualsAndHashCode(callSuper = true)
@Data
@TableName(UserDataDOField.TABLE_NAME)
public class UserDataDO extends BaseDO {
    @Serial
    private static final long serialVersionUID = 1L;

    //用户id
    @TableId(value = UserDataDOField.ID, type = IdType.ASSIGN_ID)
    private String id;

    //用户名
    @TableField(value = UserDataDOField.USERNAME)
    private String username;

    //用户获赞数
    @TableField(value = UserDataDOField.LIKES)
    private Integer likes;

    //用户关注数
    @TableField(value = UserDataDOField.FOLLOW_COUNT)
    private Integer followCount;

    //用户粉丝数
    @TableField(value = UserDataDOField.FAN_COUNT)
    private Integer fanCount;

    //用户发布的课程数
    @TableField(value = UserDataDOField.COURSE_PUBLISHED)
    private Integer coursePublished;

    //用户发布的版本数
    @TableField(value = UserDataDOField.VERSION_PUBLISHED)
    private Integer versionPublished;
    //用户发布的评论数
    @TableField(value=UserDataDOField.COMMENT_PUBLISHED)
    private Integer commentPublished;
    //用户收益
    @TableField(value = UserDataDOField.INCOME)
    private Double income;

    //用户信息创建时间
    @TableField(value = UserDOField.GMT_CREATE)
    private Date gmtCreate;

    //用户信息编辑时间
    @TableField(value = UserDOField.GMT_MODIFIED)
    private Date gmtModified;
}
